Technical Field
The present invention relates to card content management, and more particularly to a system and method for configuration and execution of card content management operations using declarative programming.
Description of the Related Art
Convergence of smart card technology and mobile devices led to the advent of mobile payment. High growth potential of the mobile payment market is drawing strong interest from various market participants. Card content management (CCM) refers to the process of provisioning applications and data to secure elements (SE) residing in mobile devices. A trusted service manager (TSM) is the system entity that performs CCM. From a technical standpoint CCM is essentially the delivery of Application Data Units (APDUs) to a secure element (SE), which are byte-sequence instructions that the SE understands. GlobalPlatform's Systems Scripting Language Specification v1.1.0 is an attempt to provide a common and flexible scripting language for programmatically carrying out CCM. A CCM script therefore is essentially a piece of programmed logic that delivers a particular set of APDUs to the SE.
Consider the following scenario for the initial issuance of a mobile payment card, i.e., provisioning a functional mobile payment card to a brand new end-user. From the end-user's perspective it is a single operation. However, within the TSM, this operation can be broken down into four separate tasks. These include: 1. Set Card Image Number (CIN); 2. Load application images; 3. Install applications; 4. Personalize applications.
One can write a single CCM script that does all four of the above tasks. However, this is not advantageous from a reusability perspective since for each new operation envisaged, new CCM script has to be programmed. For example, if re-installation of the applications is needed, the task which corresponds to 3. above, the “do-it-all” script is rendered useless.
Assume that as per the best practice guided by GlobalPlatform each of the above tasks is programmed in a separate script. The problem for the TSM is to fetch these scripts and execute them in the correct order. It is possible to program ad-hoc logic within the TSM for this particular CCM operation called ‘initial-issuance’, but this is not a generic solution. If there was another type of issuance operation called ‘pre-loaded issuance’ where application images are pre-loaded, i.e., consisting of only of tasks, 1., 3. and 4., new logic must be written to fetch and execute these scripts. An ad-hoc approach is not very scalable since new handler logic to retrieve and execute relevant scripts has to be written for each CCM operation. Moreover ad-hoc code is difficult to manage, has low legibility and is not effective in providing a lucid view of what a given operation consists of.